﻿//
// (C) Copyright 2009 Irantha Suwandarathna (iranthas@hotmail.com)
// All rights reserved.
//

/********************************************************
 * ADO.NET 2.0 Data Provider for SQLite Version 3.X
 * Written by Robert Simpson (robert@blackcastlesoft.com)
 * 
 ********************************************************/


using System;
using System.Data.Common;

namespace System.Data.EffiProzDB
{
   

    /// <summary>
    /// EffiProzDB implementation of DbProviderFactory.
    /// </summary>
    public sealed partial class EffiProzDBFactory : DbProviderFactory
    {
        /// <summary>
        /// Static instance member which returns an instanced EffiProzDBFactory class.
        /// </summary>
        public static readonly EffiProzDBFactory Instance = new EffiProzDBFactory();

        /// <summary>
        /// Returns a new EffiProzDBCommand object.
        /// </summary>
        /// <returns>A EffiProzDBCommand object.</returns>
        public override DbCommand CreateCommand()
        {
            return new EffiProzDBCommand();
        }

        /// <summary>
        /// Returns a new EffiProzDBCommandBuilder object.
        /// </summary>
        /// <returns>A EffiProzDBCommandBuilder object.</returns>
        public override DbCommandBuilder CreateCommandBuilder()
        {
            return new EffiProzDBCommandBuilder();
        }

        /// <summary>
        /// Creates a new EffiProzDBConnection.
        /// </summary>
        /// <returns>A EffiProzDBConnection object.</returns>
        public override DbConnection CreateConnection()
        {
            return new EffiProzDBConnection();
        }

        /// <summary>
        /// Creates a new EffiProzDBConnectionStringBuilder.
        /// </summary>
        /// <returns>A EffiProzDBConnectionStringBuilder object.</returns>
        public override DbConnectionStringBuilder CreateConnectionStringBuilder()
        {
            return new EffiProzDBConnectionStringBuilder();
        }

        /// <summary>
        /// Creates a new EffiProzDBDataAdapter.
        /// </summary>
        /// <returns>A EffiProzDBDataAdapter object.</returns>
        public override DbDataAdapter CreateDataAdapter()
        {
            return new EffiProzDBDataAdapter();
        }

        /// <summary>
        /// Creates a new EffiProzDBParameter.
        /// </summary>
        /// <returns>A EffiProzDBParameter object.</returns>
        public override DbParameter CreateParameter()
        {
            return new EffiProzDBParameter();
        }
    }

}
